# 28.找出字符串中第一个匹配项的下标
# 给你两个字符串haystack和needle ，请你在haystack字符串中找出needle字符串的第一个匹配项的下标（下标从0开始）。如果needle不是haystack
# 的一部分，则返回 - 1 。
#
# 示例1：
# 输入：haystack = "sadbutsad", needle = "sad"
# 输出：0
# 解释："sad"在下标0和6处匹配。第一个匹配项的下标是0 ，所以返回0 。
#
# 示例2：
# 输入：haystack = "leetcode", needle = "leeto"
# 输出：-1
# 解释："leeto"没有在"leetcode"中出现，所以返回 - 1 。


class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
        if needle not in haystack:
            return -1
        la = len(haystack)
        lb = len(needle)
        cnt = la - lb + 1
        for i in range(cnt):
            if haystack[i:i+lb] == needle:
                return i

# 看了一眼KMP算法，是真没看懂，GG
